/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tableModel;

import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;
import modelo.Motorista;

/**
 *
 * @author Rodrigo
 */
public class MotoristaTableModel extends AbstractTableModel {

    private List<Motorista> CadMotoristas;
    private static final String[] COLUNAS = {"Código", "Nome"};
    
    public MotoristaTableModel(List<Motorista> bean) {  
          CadMotoristas = new ArrayList<>(bean);  
          fireTableStructureChanged();  
      }  

    public void setCadCategorias(List<Motorista> cadMotoristas) {
        this.CadMotoristas = cadMotoristas;
        fireTableDataChanged();
    }

    public void addCadCategorias(Motorista motorista) {
        this.CadMotoristas.add(motorista);
        fireTableDataChanged();
    }

    public void limpar() {
        this.CadMotoristas = new ArrayList<>();
        fireTableDataChanged();
    }

    public Motorista getMotorista(int rowIndex) {
        return CadMotoristas.get(rowIndex);
    }

    @Override
    public int getRowCount() {
        return CadMotoristas.size();
    }

    @Override
    public int getColumnCount() {
        return COLUNAS.length;
    }

    @Override
    public String getColumnName(int column) {
        return COLUNAS[column];
    }

    @Override
    public boolean isCellEditable(int rowIndex, int columnIndex) {
        return false;
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        Motorista motorista = CadMotoristas.get(rowIndex);

        switch (columnIndex) {
            case 0:
                return motorista.getId();
            case 1:
                return motorista.getNome();
            default:
                return "Valor Desconhecido";
        }
    }
    
    @Override
    public void setValueAt(Object value, int row, int col) {  
          Motorista dado = CadMotoristas.get(row);  
          switch (col){  
               case 0: dado.setId((Integer)value); break;  
               case 1: dado.setNome((String)value); break; 
          }  
          fireTableCellUpdated(row, col);  
       }  
}
